The present disclosure concerns flash storage devices and, more particularly, offline deduplication processes for flash storage devices.
Solid-state storage devices (SSDs) may use flash memory as a non-volatile storage medium. A deduplication or dedupe process allows for more efficient use of space. In a deduplication process, duplicate data entries are removed. Rather than storing multiple copies of the same data at multiple physical addresses on the storage device, only one copy of the data is stored at a physical address, with references to that one copy replacing the other copies. Deduplication may be performed inline, as a write command is received from a host. Before writing the data, the data is compared against data already stored on the storage device. If a match is found, a reference to that match is used, rather than writing the data to a new physical address. However, this inline dedupe may add latency to write operations.